/**
 * ES6  
 */
// class Student {
//   //构造函数：声明和初始化类的属性，
//   constructor(){
//     console.log("constructor");
//     this.name = "";
//     this.age = 0;
//   }
//   set name(n){
//     this._name = n;
//     console.log("name属性的setter方法被调用")
//   }

//   get name(){
//     console.log("name属性的getter方法被调用")
//     return this._name
//   }
// }

// let s = new Student();
// s.name = "杨克强";
// console.log(s.name)

/* <div>{{name}}</div>
export default{
  data:function(){
    return{
      name:"1111"
    }
  }
  methods:{
    onClick(){
      this.name  = "2222";
    }
  }
} */

/**
 * 延展操作符
 */
// let array1 = [1,2,3,4,5,6];
// let array2 = [8,9,10,11,12];
// let array = [...array1,...array2];
// console.log(array);

// let object1 ={
//   name:"11"
// }

// let object2 = {
//   age:10
// }

// console.log({...object1,...object2});

/**
 * 解构赋值
 */

//  import {button} from "element-ui"
// let object = {
//   name:"23",
//   age:10,
//   sex:"男"
// }
// let {age,name} = object;
// console.log(age);
// console.log(name);

// let array = [1,2,3];
// let [,index2,] = array;
// console.log(index2)


/**
 * 数组新增的方法
 */
// let array = [1,2,3,4,5,6];
// array.forEach((element)=>{
//   console.log(element);
// })

// let result = array.map((element)=>{
//  console.log(element);
//  return element*2;
// })
// console.log(result);
// let array = [1,2,3,4,5,6];
// let boolean = array.some((element)=>{
//   console.log(element);
//   return element > 7;
// })
// console.log(boolean);
// let boolean = array.every((element)=>{
//  return element > 1
// })
// console.log(boolean);

// let array = [1,2,1,4,5,6];
// // let index = array.indexOf(7);
// // console.log(index);
// let index = array.find((element)=>{
//   return element > 2;
// })
// console.log(index);

// let array = [1,2,1,4,5,6];
// let result = array.filter((element)=>{
//   return element > 2
// })
// console.log(result);

/**
 * 字符串新增方法
 */
// let str = "http://www.baidu.com";
// let boolean = str.endsWith("o");
// console.log(boolean)
// let boolean = str.includes("www");
// console.log(boolean)
// let object = {
//   name:"吴守佳",
//   age:1
// }
// let str =  `我叫${object.name},我今年${object.age}岁`
// console.log(str)



//  function asyncHandle(callback){
//    setTimeout(() => {
//     callback(10);
//    }, 3000);
//  }

//  function handle(callback){
//   asyncHandle(function(result){
//     callback(result);
//   });
//  }

//  handle(function(result){
//    console.log(result)
//  })
/**
 * promise:对象
 * 异步编程解决方案
 * 新建promise对象，需要一个参数，参数类型是函数，函数就是即将执行的
 * 异步任务
 * promise对象三种状态：正在进行 、已经完成、已经失败
 */
// function asyncHandle(){
//   let promise = new Promise((reslove,reject)=>{
//     setTimeout(() => {
//       // reslove("异步操作执行成功")
//       reject("异步操作失败");
//     }, 3000);
//   });
//   return promise;
// }
// function handle(){
//   return asyncHandle()
// }
// handle().then((message)=>{
//     console.log("1")
//     console.log(message)
//   }).catch((error)=>{
//     console.log("2");
//     console.log(error);
//   });


// function asyncHandle1(){
//    return new Promise((reslove,reject)=>{
//     setTimeout(() => {
//       reject("1成功")
//       console.log("1")
//     }, 2000);
//   })
// }

// function asyncHandle2(){
//   return new Promise((reslove,reject)=>{
//     setTimeout(() => {
//       reject("2失败")
//       console.log("2")
//     }, 4000);
//   })
// }

// function asyncHandle3(){
//   return new Promise((reslove,reject)=>{
//     setTimeout(() => {
//       reslove("3成功")
//       console.log("3")
//     }, 6000);
//   })
// }

// // Promise.all([asyncHandle1(),asyncHandle2(),asyncHandle3()]).then(()=>{
// //   console.log("多个异步操作执行成功")
// // }).catch(()=>{
// //   console.log("失败")
// // })

// Promise.race([asyncHandle1(),asyncHandle2(),asyncHandle3()]).then(()=>{
//   console.log("成功")
// }).catch(()=>{
//   console.log("失败")
// })

// function handle(name="杨克强"){
//   console.log(name);
// }
// handle("杨文杰");

// new Vue({
//   methods:{
//     onClick(){

//     }
//   }
// })

let student = {
  name:"111",
  age:10
}

console.log(student.name);
console.log(student["name"])


// for (const key in student) {
//   console.log(key)
//   console.log(student[key])
// }




 















